The present invention relates generally to improved techniques for monitoring computer systems. More particularly, the invention relates to methods and apparatus for automatically examining selected computer system components and applications and notifying an attendant if a server or application fails to return satisfactory responses.
Computer systems are widely used and benefit innumerable organizations of all types and sizes. In many cases, a computer system includes a large number of relatively widely distributed components and applications to provide services to users. A frequently encountered example of a large computer system is a computer network, which may include many servers running a number of different applications. These applications may run on different servers, and, particularly in large organizations, the servers may be spread over a large geographic area.
Design of a network such that applications are distributed over a number of servers prevents any one server from being overwhelmed and unable to serve users in a timely manner. However, increasing the number of servers in a network naturally increases the number of locations where problems may arise. In order to insure the smooth functioning of a network, it is important to monitor the status of critical applications running on the network, and to alert a network administrator or other responsible person in order to solve problems which are detected. Increasing the number of applications being executed by a network and the number of servers executing those applications also increases the scope of the task of monitoring the applications and servers. Many applications produce status logs which can be examined in order to detect problems, but prior art systems typically require that these status logs be examined by a human operator in order to detect problems. Such examination by a human operator occupies the time of that operator and, moreover, frequently reveals that the application producing the log is functioning normally.
A typical network administrator is frequently very busy solving problems with the computer network. It would be highly beneficial and a great saving of the time of the network administrator and his or her assistants if network problems could be automatically detected and a human operator notified upon detection of a problem.